1 <<< HOWTO export data for the client >>>
3 -----------------------------------------------------------------------------------------------------
13 * EXPORT DATA FOR THE LOCAL CLIENT
14 * EXPORT DATA IN THE GAMEDATA DIRECTORY
15 * EXPORT DSS FILES FROM PHOTOSHOP
17 * EXPORT A PARTICLE SYSTEM
19 * EXPORT A SKELETON TEMPLATE WEIGHT
21 * EXPORT AN INSTANCE GROUP
25 * EXPORT MESH TEXTURES
26 * EXPORT LANDSCAPE TEXTURES
28 TECHNICAL NOTES ABOUT AUTOMATIC DATA PROCESS
32 -----------------------------------------------------------------------------------------------------
36 -----------------------------------------------------------------------------------------------------
40 To export and build the gamedata, you will need to install the project build_gamedata.
41 You will need cygwin installed. The path must be configurated with cygwin path
42 before any other directory, include winnt root pathes.
44 -----------------------------------------------------------------------------------------------------
48 -----------------------------------------------------------------------------------------------------
52 There is 4 main directories:
54 database/ is the root directory of the 3d database
55 gamedata/ is the root directory of the current gamadata folder
56 client/ is the root directory of the client
57 build_gamedata/ is the root directory of the build data system
59 -----------------------------------------------------------------------------------------------------
63 -----------------------------------------------------------------------------------------------------
65 **** EXPORT USER GUIDE ****
67 -----------------------------------------------------------------------------------------------------
69 * EXPORT DATA FOR THE LOCAL CLIENT
71 The data for your local client are stored in the client/data directory.
72 You can manually export here your data to test it with your client.
74 -----------------------------------------------------------------------------------------------------
76 * EXPORT DATA IN THE GAMEDATA DIRECTORY
78 You musn't export directly your data for the gamedata folder.
79 An automatic process will update your modification directly from the graphic database (w:\)
80 and add them to the new gamedata folder.
82 -----------------------------------------------------------------------------------------------------
84 * EXPORT DSS FILES FROM PHOTOSHOP
86 Install the photoshop DDS plugin. (\\Server\code\tools\plugins photoshop)
87 Load your TGA file. Save as *.DDS. Then come a big dialog box with a lot of options.
88 In the left part of the dialog box select the format you want (DXT1 or DXT5).
89 Select "Generate MIP maps".
90 Select NO OTHER OPTION.
93 -----------------------------------------------------------------------------------------------------
95 * EXPORT MESH TEXTURES
100 Load your TGA texture in photoshop.
101 If your texture has no alpha channel, only rgb, export a DXT1 DDS file.
102 If your texture has an alpha channel, export a DXT5 DDS file.
103 The maps directory for the client is client/data/maps.
104 The name of the dds texture file is the same than the tga texture with the .dss extension.
106 See * EXPORT DSS FILES FROM PHOTOSHOP
112 The clean process will delete
113 build_gamedata/processes/map/dds/*.*
114 build_gamedata/processes/map/tga/*.*
117 The export process will copy each tga texture placed in the folders
118 database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/skeletons/
119 database/Stuff/<race>/Decors/_textures
120 The textures are copied in build_gamedata/processes/map/tga/.
121 If, in the database, a dds texture is placed side by side a tga texture with the same name, the dds
122 texture will be copied too in build_gamedata/processes/map/tga/.
125 The build process take each exported tga texture and convert them in dds.
126 If they have alpha channel, they will be converted in DXT5, else in DXTC1.
127 If a dds texture is available for a tga, the converter will use the file format in the dds file
128 to create the builded dds texture.
129 Builded dds are storder in build_gamedata/processes/map/dds/.
132 The install process will copy build_gamedata/processes/map/dds/*.dds in client/data/maps
134 -----------------------------------------------------------------------------------------------------
136 * EXPORT LANDSCAPE TEXTURES
141 Textures on the landscape are 24 bits TGA files.
142 They can be 128x128 or 256x256.
143 In the client, you have to export the texture for diffuse, additive and transition in DXT5 format
144 using the photoshop plugin.
145 The displacement textures (noise textures) must be exported in TGA.
146 The interface textures (GUI) must be exported in TGA.
147 The landscape texture are stored in the directories client/data/tiles.
149 See * EXPORT DSS FILES FROM PHOTOSHOP
156 Clean will delete files in
157 build_gamedata/processes/tiles/maps_final
158 build_gamedata/processes/tiles/maps_tga
159 build_gamedata/processes/displace/tga
160 build_gamedata/processes/interface/tga
163 Export will copy all the TGA files stored in the directory database/landscape/_texture_Tiles and in its sub directories
164 into build_gamedata/processes/tiles/maps_tga
165 It copies tga texture from database/landscape/_texture_Tiles/displace in build_gamedata/processes/displace/tga
166 It copies tga texture from database/interface in build_gamedata/processes/interface/tga
169 The build process will convert the tga texture in build_gamedata/processes/tiles/maps_tga in DXT5 dds file.
170 DDS textures will be stored in the directory build_gamedata/processes/tiles/maps_dds.
173 The install process will copy the dds texture from build_gamedata/processes/tiles/maps_dds into client/data/tiles.
174 The install process will copy the tga texture from build_gamedata/processes/displace/tga into client/data/tiles.
175 The install process will copy the tga texture from build_gamedata/processes/interface/tga into client/data/tiles.
177 -----------------------------------------------------------------------------------------------------
184 -If your mesh as NO coarse lod (croisillons) and NO lightmap :
186 In max, load your mesh project. Select the mesh you want to export.
187 Export it with the "NeL export" utility plugin, button "export model".
188 The file extension must be a "*.shape".
189 The name of the .shape file is the name of the max mesh.
190 Save directly this .shape file in the client directory (client/data/shapes).
192 -If your mesh as a coarse lod :
194 In max, load your mesh project. Select the main mesh you want to export. Don't select the lods.
195 Export it with the "NeL export" utility plugin, button "export model".
196 The file extension must be a "*.shape".
197 The name of the .shape file is the name of the max mesh.
198 Save this .shape file in the build data shape directory for coase meshes (build_gamedata/processes/shape/shape_with_coarse_mesh).
199 Be sure to have all the other meshes with coarse lod in the directory build_gamedata/processes/shape/shape_with_coarse_mesh.
200 (You can get it on the build_data computer).
201 Execute the coarse mesh build command (build_gamedata/processes/shape/3_build.bat).
202 Run the mesh install build_gamedata/processes/shape/4_install.bat. (Copy the shape and the texture in the client data).
204 -If your mesh as lightmaps :
206 In max, load your mesh project. Use the city_export.ms script to export manualy mesh with lightmaps.
207 The file extension must be a "*.shape".
208 The name of the .shape file is the name of the max mesh.
209 Be sure to export your meshes in the build_gamedata/processes/shape/shape directory.
210 Be sure the lightmaps are exported in the directory build_gamedata/processes/shape/lightmap.
211 Execute the lightmap build command (build_gamedata/processes/shape/3_build.bat).
212 Run the mesh install build_gamedata/processes/shape/4_install.bat. (Copy the shape and the lightmaps in the client data).
218 The clean process will delete
219 build_gamedata/processes/shape/shape/*.*,
220 build_gamedata/processes/shape/shape_with_coarse_mesh/*.*,
221 build_gamedata/processes/shape/shape_with_coarse_mesh_builded/*.*,
222 build_gamedata/processes/shape/lightmap/*.*,
223 build_gamedata/processes/shape/lightmap_16_bits/*.* files
226 The export process will open each max projects placed in the folders
227 stuff/<race>/agents/actors/<sexe/bot/vehicules/monsters>
228 stuff/<race>/agents/accessories
229 stuff/<race>/decors/vegetations
230 stuff/<race>/decors/constructions
232 It will select each ROOT object (not children) that are geometry, not named "Bip01", not particule system, not flaged "Don't export" and not
233 Accelerator (not portal / not cluster). The extension of the file is "*.shape". The name of the file is the name of the mesh in max.
234 If the object have coarse meshes, it will be exported in the folder build_gamedata/processes/shape/shape_with_coarse_mesh/.
235 else it will be exported in the folder build_gamedata/processes/shape/shape/.
236 If the object have lightmaps, lightmaps will be exported in the folder build_gamedata/processes/shape/lightmap/.
237 The name of the lightmap is the name of the object followed by a number of one digit.
238 The extension of the lightmap is .tga.
241 The build process will first convert the lightmaps in 16 bits tga files.
242 Those computed lightmaps will be builded in folder build_gamedata/processes/shape/lightmap_16_bits.
243 Then, the build process will compute the coarses mesh and there big texture.
244 The final coarses meshes are builded in folder build_gamedata/processes/shape/shape_with_coarse_mesh_builded.
245 The final coarses meshes name is the same than the exported name.
246 The coarses meshes texture is builded in folder build_gamedata/processes/shape/shape_with_coarse_mesh_builded/nel_coarse_texture.dds.
249 The install process will copy
250 build_gamedata/processes/shape/shape/*.* in client/data/shapes
251 build_gamedata/processes/shape/shape_with_coarse_mesh_builded/*.shape in client/data/shapes
252 build_gamedata/processes/shape/shape_with_coarse_mesh_builded/nel_coarse_texture.dds in client/data/maps
253 build_gamedata/processes/shape/lightmap_16_bits/*.* in client/data/lightmaps
255 -----------------------------------------------------------------------------------------------------
257 * EXPORT A PARTICLE SYSTEM
262 Directly copy your ps file in the client directory client/data/ps.
268 Clean will delete build_gamedata/processes/ps/ps/*.* file.
271 Copy the file from database/sfx in build_gamedata/processes/ps/ps.
277 Copy the file from build_gamedata/processes/ps/ps in client/data/ps.
279 -----------------------------------------------------------------------------------------------------
286 In max, load your skeleton project with a skeleton in figure mode. Select the root of the skeleton.
287 Export it with the "NeL export" utility plugin, button "export skeleton".
288 The file extension must be a "*.skel".
289 The skeleton directory for the client is client/data/animations/skeletons.
290 The name of the skel file is the name of the max project.
296 The clean process will delete build_gamedata/processes/skel/skel/*.*
299 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/skeletons/.
300 It will select "Bip01" in the project an export the skel. The root of the skeleton must have been named "Bip01".
301 The skel files are exported in the build folder build_gamedata/processes/skel/skel/.
302 The name of the skel files are the name of the max projects.
308 The install process will copy build_gamedata/processes/skel/skel/*.* in client/data/animations/skeletons
310 -----------------------------------------------------------------------------------------------------
312 * EXPORT A SKELETON TEMPLATE WEIGHT
317 In max, load your skeleton template weight project. Select ALL the bones of the skeleton.
318 Export it with the "NelL export" utility plugin, button "export skeleton weights
319 The skeleton directory for the client is client/data/animations/skeletons.
320 The name of the swt file is the name of the max project.
326 The clean process will delete build_gamedata/processes/swt/swt/*.*
329 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/swt/.
330 It will select all the objects in the project an export the swt. The swt files are exported in the build folder build_gamedata/processes/swt/swt/.
331 The name of the swt files are the name of the max projects.
337 The install process will copy build_gamedata/processes/swt/swt/*.* in client/data/animations/skeletons
339 -----------------------------------------------------------------------------------------------------
341 * EXPORT AN ANIMATION
346 In max, load your animation project.
347 Select the animated objects. For the skeletons select only the root.
348 Export it with the "NeL export" utility plugin, button "export model animation".
349 The file extension must be a "*.anim".
350 The animation directory for the client is client/data/animations/anim.
356 The clean process will delete build_gamedata/processes/anim/anim/*.*
359 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/anims/.
360 It will select the "Bip01" object in the project an export the animation. The anim files are exported in the build folder build_gamedata/processes/anim/anim/.
361 The name of the anim files are the name of the max projects.
367 The install process will copy build_gamedata/processes/anim/anim/*.* in client/data/animations/anim.
369 -----------------------------------------------------------------------------------------------------
371 * EXPORT AN INSTANCE GROUP
376 Open your instance group project. For each instance gourps in your project, select all objects in the same instance group
377 and export it with the "NeL utility" plugin, button "Export Instance Group". You can use a script like city_export.max
378 if the export is too boring.
384 Delete files in build_gamedata/processes/ig/ig.
387 For each max file in the database directories
388 database/stuff/<race>/decors/constructions
389 database/landscape/zones
390 the process will open the max file and look for instance group name flaged on objets.
392 If there is some objects with instance group name flagged (city or interior)
393 For each instance group name, it select the max object and export the ig in build_gamedata/processes/ig/ig.
395 If there is no objects with instance group name flagged (zone file with vegetation)
396 The process will select all object in the project that are reference on a shape export the ig in build_gamedata/processes/ig/ig.
402 Copy the file stored in build_gamedata/processes/ig/ig in the client directory client/data/ig
404 -----------------------------------------------------------------------------------------------------
408 Zone building configuration file is build_gamedata/cfg/properties.cfg
413 To export manually zones, open your zone projects in max, select the zones. Export it with the
414 "NeL export" utility plugin, button "export model".
415 Save the .zone files in the build_gamedata directory build_gamedata/processes/zone/zone_exported/.
416 Then execute the build command (build_gamedata/processes/zone/3_build.bat).
417 After the build, install the zone in the client with the command 4_install (build_gamedata/processes/zone/4_install.bat).
423 The clean process will delete
424 build_gamedata/processes/zone/zone_exported/*.*
425 build_gamedata/processes/zone/zone_lighted/*.*
426 build_gamedata/processes/zone/zone_welded/*.*
427 build_gamedata/processes/zone/zone_depend/*.*
430 The automatic export will export zone object from max database max files in the directory database/landscape/zones.
431 The .zone files are stored in build_gamedata/processes/zone/zone_exported/. The name of the zone is the name
435 The build process will first build the zone dependencies (*.depend files in build_gamedata/processes/zone/zone_dependencies/).
436 Then it will generate welded zone (*.zonew files in build_gamedata/processes/zone/zone_welded/).
437 Then it will generate lighted zone (*.zonel files in build_gamedata/processes/zone/zone_lighted/).
440 The install process will copy build_gamedata/processes/zone/zone_lighted/*.* in client/data/zone
442 -----------------------------------------------------------------------------------------------------
449 Copy your .bank in the directory build_gamedata/processes/smallbank/bank/.
450 Execute the build command (build_gamedata/processes/smallbank/3_build.bat).
451 Execute the install command (build_gamedata/processes/smallbank/3_install.bat).
457 The clean process will delete
458 build_gamedata/processes/smallbank/bank/*.*
459 build_gamedata/processes/smallbank/smallbank/*.*
462 Copy the bank stored in database/landscape/_texture_Tiles/bank in build_gamedata/processes/smallbank/bank/.
465 Convert the build_gamedata/processes/smallbank/bank/*.bank files in build_gamedata/processes/smallbank/smallbank/*.smallbank files.
468 Copy the build_gamedata/processes/smallbank/smallbank/*.smallbank files in the client/data/bank
470 -----------------------------------------------------------------------------------------------------
477 Copy your .bank in the directory build_gamedata/processes/smallbank/bank/.
478 Execute the build command (build_gamedata/processes/farbank/3_build.bat).
479 Execute the install command (build_gamedata/processes/farbank/3_install.bat).
485 The clean process will delete build_gamedata/processes/farbank/bank/*.*
491 Convert the build_gamedata/processes/smallbank/bank/*.bank files in build_gamedata/processes/farbank/farbank/*.farbank files.
494 Copy the build_gamedata/processes/farbank/farbank/*.farbank files in the client/data/bank
496 -----------------------------------------------------------------------------------------------------
498 * EXPORT A VEGETABLE SET
503 Directly copy your vegetset file in the client directory client/data/vegetables.
509 Clean will delete build_gamedata/processes/vegetset/vegetset/*.* file.
512 Copy the file from database/landscape/vegetables in build_gamedata/processes/vegetset/vegetset.
518 Copy the file from build_gamedata/processes/vegetset/vegetset in client/data/vegetables.
520 -----------------------------------------------------------------------------------------------------
525 -----------------------------------------------------------------------------------------------------
527 **** TECHNICAL NOTES ABOUT AUTOMATIC DATA PROCESS ****
529 -----------------------------------------------------------------------------------------------------
533 The automatic data process are divided in several automatic data processes.
535 Each automatic data process must be located in a separated directory based in "build_gamedata/processes/".
536 Each automatic data process is executed in its root directory "build_gamedata/processes/my_process".
537 Each automatic must be sure to not stop the process with a messagebox or a pause.
538 Each automatic data process must have the following batch command files:
540 - build_gamedata/processes/my_process/0_setup.bat: This command must create missing local directories and update binary tools
541 (and all others setup stuff).
544 - build_gamedata/processes/my_process/1_clear.bat: This command must delete all the temporary exported / builded files. Don't delete
545 the installed client files.
548 - build_gamedata/processes/my_process/2_export.bat: This command must export the data from the database into a local directory.
550 * After the export process the log file "build_gamedata/processes/my_process/log.log" must exist.
552 * The log file must begin by the following lines:
554 --- Export my_process
557 * A file must be exported only if the target file (previous temporary exported file) is not existing or it is not up to date.
559 * If the file is not exported because it is up to date, the export process should log in the log file an entry prefixed by "SKIPPED "
560 and followed by the name of the skipped target: "SKIPPED build_gamedata/processes/my_process/tmp_exported/skippedfile.ext".
562 * All errors during export should be, if possible, loged in the log file prefixed by the word "ERROR ".
564 * All sucessful export should be log in the log file prefixed bt the word "OK ".
566 * All others warning and error information are welcome in the log file.
568 * The export process must use "build_gamedata/the config.cfg" file to get the database or 3dsmax directories.
571 - build_gamedata/processes/my_process/3_build.bat: This command is executed after the export process. It must perform some build stuff on the
572 temporary exported data.
574 * After the build process the log file "build_gamedata/processes/my_process/log.log" must exist.
576 * The log file must begin by the following lines:
581 * A file must be builded only if the target file (previous temporary builded file) is not existing or it is not up to date.
583 * If the file is not builded because it is up to date, the build process should log in the log file an entry prefixed by "SKIPPED "
584 and followed by the name of the skipped target: "SKIPPED build_gamedata/processes/my_process/tmp_builded/skippedfile.ext".
586 * All errors during build should be, if possible, loged in the log file prefixed by the word "ERROR ".
588 * All sucessful build should be log in the log file prefixed bt the word "OK "
590 * All others warning and error information are welcome in the log file.
593 - build_gamedata/processes/my_process/4_install.bat: This command will install exported / builded files in the client directory.
595 * This command assume that the client data directory tree is builded.
597 * After the install process the log file "build_gamedata/processes/my_process/log.log" must exist.
599 * The log file must begin by the following lines:
601 --- Install my_process
604 * A file must be install only if the target file (previous installed file) is not existing or it is not up to date.
606 * If the file is not installed because it is up to date, the install process should log in the log file an entry prefixed by "SKIPPED "
607 and followed by the name of the skipped target: "SKIPPED client/data/.../skippedfile.ext".
609 * All errors during install should be, if possible, loged in the log file prefixed by the word "ERROR ".
611 * All sucessful install should be log in the log file prefixed bt the word "OK "
613 * All others warning and error information are welcome in the log file.
615 -----------------------------------------------------------------------------------------------------